home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Belgian Amiga Club - ADF Collection
/
BS1 part 26.zip
/
BS1 part 26
/
Powervisor v1.10b disk1.adf
/
PVDevelop
/
include
/
PV
/
ListBase.h
< prev
next >
Wrap
C/C++ Source or Header
|
1991-09-15
|
2KB
|
129 lines
#ifndef PV_LISTBASE_H
#define PV_LISTBASE_H TRUE
/*
** $Filename: ListBase.h $
** $Release: 1.02 $
** $Revision: 37.346 $
** $Date: 15 Sep 91 $
**
** Structure definitions for List Base (see 'TheWizardCorner')
**
** © 1991 Jorrit Tyberghein, included with PowerVisor
** All Rights Reserved
*/
#ifndef PV_PVMEMORY_H
#include "PVMemory.h"
#endif
#ifndef EXEC_LISTS_H
#include <exec/lists.h>
#endif
#define STRUCTDEF_BYTE 0
#define STRUCTDEF_WORD 1
#define STRUCTDEF_LONG 2
#define STRUCTDEF_STRING 3
#define STRUCTDEF_OBJECT 4
#define STRUCTDEF_BPTR 128
#define IBCTRLBYTE_BASEROUTINE -1
#define IBCTRLBYTE_STRUCTURE -2
#define IBCTRLBYTE_ALLROUTINE -3
#define IBCTRLBYTE_NIBBLE1 15
#define IBCTRLBYTE_NIBBLE2 240
#define IBCTRLBYTE_NOTHING 0
#define IBCTRLBYTE_INDIRECT 1
#define IBCTRLBYTE_BPTR 2
struct StructDef
{
APTR String;
UWORD Type;
UWORD Offset;
};
struct StructureDef
{
struct Node node;
ULONG MatchWord; /* 'PVSD' */
PVBLOCK Strings;
PVBLOCK StructureDefinition;
UWORD Length;
};
struct InfoBlock
{
ULONG PromptString;
UBYTE ItemNumber;
UBYTE ControlByte;
union
{
APTR Routine;
APTR Base;
} GoToBase;
UWORD Offset;
union
{
APTR Routine;
struct StructDef *Structure;
} NextElem;
APTR HeaderString;
APTR FormatString;
ULONG ArgString;
UBYTE Null;
UBYTE UseInfoStructure;
union
{
APTR Routine;
struct StructDef *Structure;
} Info;
APTR PrintOneLineRout;
UWORD NameOffset;
};
struct ListBase
{
APTR OldWindowPtr;
ULONG PromptString;
UWORD CurrentListNum;
UWORD pad0;
struct List StructureDefs;
struct InfoBlock IBExec;
struct InfoBlock IBIntb;
struct InfoBlock IBTask;
struct InfoBlock IBLibs;
struct InfoBlock IBDevs;
struct InfoBlock IBReso;
struct InfoBlock IBMemr;
struct InfoBlock IBIntr;
struct InfoBlock IBPort;
struct InfoBlock IBWins;
struct InfoBlock IBScrs;
struct InfoBlock IBFont;
struct InfoBlock IBDosd;
struct InfoBlock IBFunc;
struct InfoBlock IBSema;
struct InfoBlock IBResm;
struct InfoBlock IBFils;
struct InfoBlock IBLock;
struct InfoBlock IBIHan;
struct InfoBlock IBFDFi;
struct InfoBlock IBAttc;
struct InfoBlock IBCrsh;
struct InfoBlock IBGraf;
struct InfoBlock IBDbug;
struct InfoBlock IBStru;
struct InfoBlock IBPubs; /* */
struct InfoBlock IBMoni; /* */
struct InfoBlock IBConf;
struct InfoBlock IBLWin;
struct InfoBlock IBPWin;
};
#endif